/**
 * 本文件存储麻将中的常量信息
 */
// 可执行动作码
const ACTION_CODE = {
    Play: 4, // 打牌
    Follow: 2, // 跟牌
    Pass: 1, // 过
    None: 0 // 无动作
};

// 等待玩家时限
const WaitTimeLimit = {
    ACTION: 15000, // 15s
};

// 游戏状态
const STATE = {
    NONE: 'none',
    WAIT_PLAYER_ACTION: 'waitPlayerAction',
    WAIT_OHTERS_ACTION: 'waitOthersAction',
    GAME_OVER: 'gameOver'
};

// 扑克牌
const CARD = {
    ACE: 1, // A
    TEN: 10, // 10
    DIAMOND_3: 30, // 方块3
    NONE: 999 // 背面
};

// 牌型（每个牌型间隔开一定距离是为了方便后面具体计算得分进行比较）
const CARD_GROUP = {
    NONE: 0, // 无牌型
    SINGLE: 1000, // 单张
    PAIR: 2000, // 一对
    TRIPLE: 3000, // 三张
    FOUR: 4000, // 四张
    STRAIGHT: 5000, // 顺子
    FLUSH: 6000, // 同花
    FULL_HOUSE: 7000, // 3带2
    FOUR_WITH_ONE: 8000, // 4带1
    STRAIGHT_FLUSH: 9000 // 同花顺
}

// 玩家数据
const PLAYER_STATE = {
    ID: 1,
    ACTION_CODE: 2,
    HAND_CARDS: 3,
    PLAYED_CARDS: 4,
    PLAYING_CARD: 5,
    NEW_CARD: 6,
    GROUP_CARDS: 7,
    CHI_LIST: 8,
    GANG_LIST: 9
}

// 模式
const GAME_MODE = {
    DEVELOP: 1,
    PRODUCTION: 2
};

module.exports = {
    ACTION_CODE,
    WaitTimeLimit,
    STATE,
    CARD,
    CARD_GROUP,
    PLAYER_STATE,
    GAME_MODE
};